The computing industry has seen many advances in recent years, and such advances have produced a multitude of products and services. Computing systems have also seen many changes, including their virtualization. Virtualization of computer resources generally connotes the abstraction of computer hardware, which essentially separates operating systems and applications from direct correlation to specific hardware. Hardware is therefore abstracted to enable multiple operating systems and applications to access parts of the hardware, defining a seamless virtual machine. The result of virtualization is that hardware is more efficiently utilized and leveraged.
The advent of virtualization has sparked a number of technologies, which allow companies to optimize the utilization of their systems. As a company's enterprise systems are usually installed at various geographic locations, networking protocols are used to interconnect the various systems, which can then be virtualized into one or more virtual servers.
With the recent proliferation of virtual systems and servers, management has become increasingly important. A known object oriented model for management uses a common information model object manager (the CIMOM). A virtual server that uses a CIMOM is usually referred to as a managed system. A CIMOM isolates management applications from the various sources of management information, while providing a single, uniform way to access the information. With the CIMOM, each management application submits queries to the CIMOM in a uniform way. The CIMOM then communicates with one or more sources of the information, known as providers, to return an appropriate reply. The CIMOM can decompose queries into requests to multiple providers and synthesize the results into a single response, work with the capabilities of the providers, and the like. Although the CIMOM thus provides benefits in accessing management applications (e.g., clients), the CIMOM is also constructed with openness in mind. For instance, the various clients that attempt access to a managed system are provided with extreme latitude to discover classes, properties, method, etc., by way of simple API requests. Unfortunately, this openness runs afoul when third party client access a managed system, which then expose confidential or proprietary classes.
In view of the foregoing, there is a need for methods, systems and computer implemented processes that provide open managed system interfaces while selectively safeguarding certain information for private classes.